package contract_request

import (
	"private-go-sdk/http"
	"private-go-sdk/model/common"
	"encoding/json"
)

type ContractFinishAddattachmentRequest struct {
	// <ext>core:true;format:string;deprecated:false</ext> 【电子签约文件id】电子签约文件id 【作用】 指定需修改强制结束附件的电子签约文件 【传参】 电子签约文件id和第三方业务系统文件id必传其一，均传入以电子签约文件id为准。
	ContractId *int64 `json:"contractId,omitempty"`
	// <ext>core:true;format:string;deprecated:false</ext> 【第三方业务系统文件id】第三方业务系统文件id 【作用】 指定需改强制结束附件的电子签约文件 【传参】 电子签约文件id和第三方业务系统文件id必传其一，均传入以电子签约文件id为准。
	BizId string `json:"bizId,omitempty"`
	// <ext>core:true;inner-type:Json<Attachment[]></ext> 【强制结束附件】强制结束附件列表 【作用】 指定需添加的附件
	Attachment string `json:"attachment"`
	AttachmentObject []*common.Attachment `json:"attachmentObject,omitempty"`
}
func (obj ContractFinishAddattachmentRequest) GetUrl() string {
    return "/contract/finish/addattachment"
}

func (obj ContractFinishAddattachmentRequest) GetHttpParameter() *http.HttpParameter {
    parameter := http.NewPostHttpParameter()
    parameter.AddParam("contractId", obj.ContractId)
    parameter.AddParam("bizId", obj.BizId)
    if obj.AttachmentObject != nil {
       jsonBytes, _ := json.Marshal(obj.AttachmentObject)
       parameter.AddParam("attachment", string(jsonBytes))
   } else {
       parameter.AddParam("attachment", obj.Attachment)
   }
    return parameter
}
